package com.ruoyi.comprehensive.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 图纸管理对象 drawing
 * 
 * @author hcc
 * @date 2023-12-12
 */
public class Drawing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 历史关联的id */
    @Excel(name = "历史关联的id")
    private Long historyId;

    /** 版本号 */
    @Excel(name = "版本号")
    private String versionNo;

    /** 编码 */
    @Excel(name = "编码")
    private String code;

    /** 图纸名称 */
    @Excel(name = "图纸名称")
    private String name;

    /** 图纸的id */
    @Excel(name = "图纸的id")
    private String drawing;

    /** 上传的文件路径 */
    @Excel(name = "上传的文件路径")
    private String filePath;

    /** 上传的文件名称 */
    @Excel(name = "上传的文件名称")
    private String fileName;

    /** 专业分类 */
    @Excel(name = "专业分类")
    private String typeId;

    /** 专业分类名称 */
    @Excel(name = "专业分类名称")
    private String typeName;

    /** 绘制人员 */
    @Excel(name = "绘制人员")
    private String drafters;

    /** 绘制人员名称 */
    @Excel(name = "绘制人员名称")
    private String draftersName;

    /** 绘制完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "绘制完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 历史状态[1:最新/2:历史] */
    @Excel(name = "历史状态[1:最新/2:历史]")
    private Long historyStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 创建者名称 */
    @Excel(name = "创建者名称")
    private String createByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 更新者名称 */
    @Excel(name = "更新者名称")
    private String updateByName;

    /** 删除标志（1代表存在 2代表删除） */
    private Long delFlag;

    /** 资料库ID */
    @Excel(name = "资料库ID")
    private String fileLibraryId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditAt;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditBy;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    private String auditByName;

    /** 审核状态（默认0待提交， 1已提交待审核，2审核通过，3拒绝/驳回） */
    @Excel(name = "审核状态", readConverterExp = "默=认0待提交，,1=已提交待审核，2审核通过，3拒绝/驳回")
    private String auditStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String auditOpinion;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setHistoryId(Long historyId) 
    {
        this.historyId = historyId;
    }

    public Long getHistoryId() 
    {
        return historyId;
    }
    public void setVersionNo(String versionNo) 
    {
        this.versionNo = versionNo;
    }

    public String getVersionNo() 
    {
        return versionNo;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDrawing(String drawing) 
    {
        this.drawing = drawing;
    }

    public String getDrawing() 
    {
        return drawing;
    }
    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }
    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }
    public void setTypeId(String typeId) 
    {
        this.typeId = typeId;
    }

    public String getTypeId() 
    {
        return typeId;
    }
    public void setTypeName(String typeName) 
    {
        this.typeName = typeName;
    }

    public String getTypeName() 
    {
        return typeName;
    }
    public void setDrafters(String drafters) 
    {
        this.drafters = drafters;
    }

    public String getDrafters() 
    {
        return drafters;
    }
    public void setDraftersName(String draftersName) 
    {
        this.draftersName = draftersName;
    }

    public String getDraftersName() 
    {
        return draftersName;
    }
    public void setCompleteTime(Date completeTime) 
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() 
    {
        return completeTime;
    }
    public void setHistoryStatus(Long historyStatus) 
    {
        this.historyStatus = historyStatus;
    }

    public Long getHistoryStatus() 
    {
        return historyStatus;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setCreateByName(String createByName) 
    {
        this.createByName = createByName;
    }

    public String getCreateByName() 
    {
        return createByName;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setUpdateByName(String updateByName) 
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName() 
    {
        return updateByName;
    }
    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }
    public void setFileLibraryId(String fileLibraryId) 
    {
        this.fileLibraryId = fileLibraryId;
    }

    public String getFileLibraryId() 
    {
        return fileLibraryId;
    }
    public void setAuditAt(Date auditAt) 
    {
        this.auditAt = auditAt;
    }

    public Date getAuditAt() 
    {
        return auditAt;
    }
    public void setAuditBy(String auditBy) 
    {
        this.auditBy = auditBy;
    }

    public String getAuditBy() 
    {
        return auditBy;
    }
    public void setAuditByName(String auditByName) 
    {
        this.auditByName = auditByName;
    }

    public String getAuditByName() 
    {
        return auditByName;
    }
    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }
    public void setAuditOpinion(String auditOpinion) 
    {
        this.auditOpinion = auditOpinion;
    }

    public String getAuditOpinion() 
    {
        return auditOpinion;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("historyId", getHistoryId())
            .append("versionNo", getVersionNo())
            .append("code", getCode())
            .append("name", getName())
            .append("drawing", getDrawing())
            .append("filePath", getFilePath())
            .append("fileName", getFileName())
            .append("typeId", getTypeId())
            .append("typeName", getTypeName())
            .append("drafters", getDrafters())
            .append("draftersName", getDraftersName())
            .append("completeTime", getCompleteTime())
            .append("historyStatus", getHistoryStatus())
            .append("createAt", getCreateAt())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("updateAt", getUpdateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("fileLibraryId", getFileLibraryId())
            .append("auditAt", getAuditAt())
            .append("auditBy", getAuditBy())
            .append("auditByName", getAuditByName())
            .append("auditStatus", getAuditStatus())
            .append("auditOpinion", getAuditOpinion())
            .toString();
    }
}
